package com.lanou3g.code0420;

import java.io.*;
import java.net.ServerSocket;
import java.net.Socket;

/**
 * Created by dllo on 18/4/20.
 */
public class Server {
    //ECHO服务器
    //Echo服务器是  常见的一种小型服务器
    //作用,将客户端发送来的数据,原封不动的
    //再发回给客户端
    //这样  客户端可以方便的判断服务器是否好用
    public static void main(String[] args) {
        try {
            //创建一个Socket服务器对象
            //在创建的时候绑定端口号
            //注意如果你重复运行该代码
            //会出现端口号被占用异常
            ServerSocket ss = new ServerSocket(2333);
            //accept()方法是 socket服务器等待
            //客户端的介入,如果没有客户端接入
            //则代码会在这一行一直等下去
            while (true){
                //client.getRemoteSocketAddress:可以获得 客户端 的 ip地址和端口号
                //可以获得 客户端 的 ip地址和端口号
            Socket client = ss.accept();
            //为每一个客户端创建线程
                System.out.println("为每一个客户介入:"+client.getRemoteSocketAddress());
//                System.out.println("为每一个客户介入:"+client.getInetAddress().toString());
            new EchoThread(client).start();}
//            OutputStream outputStream = client.getOutputStream();
//            InputStream inputStream = client.getInputStream();
//            PrintWriter printWriter = new PrintWriter(
//                    new OutputStreamWriter(outputStream));
//            BufferedReader reader = new BufferedReader(
//                    new InputStreamReader(inputStream));

            //只要客户端没有断开连接
//            String line = "";
//            while ((line = reader.readLine()) != null) {
//                String echo = "ECHO:" + line;
//                printWriter.println(echo);
//                printWriter.flush();
//            }


        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}
